main(){
  //1.把函数作为参数传递
  testprint((String data){
    print('hello world $data');
  });

  //2.定义一个函数，函数的参数是一个函数
  void fn(String data){
    print('fn $data');
  }
  // 由于 testCallback 未定义，这里使用已存在的 testprint 函数替代
  testprint(fn);
}
//3. 定义一个函数，函数的参数是一个函数，函数的返回值是一个函数
void testCallback(void Function(String data) callback){
  // 调用回调函数
  callback('回传的数据');
}


// 回调函数：把一个函数作为参数传递给另一个函数，在另一个函数中调用这个函数
// ArkTS 写法：(data:string) => void
// Dart  写法：void Function(String data)
void testprint(void Function(String data) callback){
  // 调用回调函数
  callback('回传的数据');
}
